home *** CD-ROM | disk | FTP | other *** search
-
- Tcl Distributed Programming (Tcl-DP)
- (Version 1.0a; March 11, 1993)
-
- Lawrence A. Rowe, Brian Smith, and Steve Yen
- Computer Science Division-EECS
- University of California at Berkeley
-
- This directory contains a public domain extension to Tcl/Tk
- called Tcl Distributed Programming (Tcl-DP). Tcl-DP adds TCP and
- IP connection management, remote procedure call (RPC), and
- distributed object protocols to Tcl/Tk.
-
- BACKGROUND
-
- A C interface to the RPC primitives is also provided. Unlike the
- "send" command of Tk, Tcl-DP does not require that Tcl/Tk processes
- that want to communicate must share an X server because Tcl-DP is
- built upon TCP/IP.
-
- Tcl stands for the Tool Command Language, a public domain embedded
- scripting language package. Tk is an X windows interface toolkit and
- widget library implemented by a collection of new commands added
- to Tcl. Information about Tcl/Tk is available by anonymous ftp from
- sprite.berkeley.edu [128.32.150.27]. Tcl-DP was developed for
- Tcl 6.5 and Tk 3.0.
-
- This distribution contains the source code for Tcl-DP, man pages
- that describe the commands, and several examples that illustrate
- how to use Tcl-DP to build simple distributed applications.
- Tcl-DP is available by anonymous ftp from toe.berkeley.edu
- [128.32.149.117].
-
- The Makefile creates two libraries, named libtnetwork.a and libtutil.a,
- that can be linked with your application programs. The library
- libtnetwork.a contains the Tcl-DP extension, and the library
- libtutil.a contains basic utilities upon which Tcl-DP depends.
- To use Tcl-DP, you must initialize your Tcl interpreters with the
- dpInit C procedure (see network.h, and the example in main.c).
- After initialization, all distributed programming can be done
- with Tcl commands.
-
- Tcl/Tk supports on-demand autoloading of Tcl/Tk procedures. Tcl-DP
- adds several autoloading Tcl/Tk procedures. They are located in the
- library subdirectory. These Tcl/Tk scripts must be copied to the
- directory that contains your existing autoloading Tcl/Tk scripts,
- and they must be listed in the tclIndex file in that directory.
-
- In the examples subdirectory, several sample applications are supplied
- that use Tcl-DP. As you can see from the examples, the distributed
- programming mechanisms of Tcl-DP are very simple. An RPC command,
- for example, sends a Tcl command to a remote process, which evaluates
- the command in the destination Tcl interpreter and returns the result
- as the value of the RPC command.
-
- A dpwish program (i.e., a wish with Tcl-DP extensions) is also supplied.
- To exit dpwish, you should use the "exit" command, not the break or
- interrupt keys (i.e., Ctrl-C, Ctrl-D) as this allows Tcl-DP to clean
- up dangling network connections. A solution to the graceful shutdown
- problem that we use in our Tcl-DP applications is to catch the
- break/kill/interrupt UNIX signals and eval the "exit" command before
- halting the application.
-
- COMPILING/USING TCL-DP
-
- To compile the dpwish program:
-
- +) If you do not already have Tcl 6.5 and Tk 3.0, get a copy and follow
- the instructions to build the system. Tcl-DP does not work with earlier
- versions of Tcl/Tk.
-
- +) In the Tcl-DP directory (i.e., where this README resides), follow
- the configuration instructions at the start of the Makefile. For
- example, you will need to edit the Makefile variables TCL_INC,
- TCL_LIB, ....
-
- +) To make the dpwish program, type...
-
- make dpwish
-
- This will make the libraries libtnetwork.a and libtutil.a and the
- dpwish program. If you only need the libtnetwork.a and the
- libtutil.a libraries, you can type...
-
- make libtnetwork.a
- make libtutil.a
-
- To install the autoloading Tcl/Tk scripts of Tcl-DP:
-
- +) Copy all Tcl/Tk scripts from the Tcl-DP/library directory to the
- directory where Tcl/Tk stores your existing autoloading Tcl/Tk
- scripts. The environment variable TCL_LIBRARY (and the Tcl 6.5
- Makefile) should specify where this directory is located.
-
- +) Update the tclIndex file in that TCL_LIBRARY directory to
- reflect the Tcl/Tk scripts that you copied in the last step. You
- can do this manually, or you can have Tcl/Tk automatically update
- the tclIndex file with its "auto_mkindex" command.
-
- To learn how to use Tcl-DP:
-
- +) Read the README file in the examples subdirectory and play with
- the example applications.
-
- +) Read the Tcl-DP man page (Tcl-DP.l), and the other man pages
- in the man subdirectories.
-
- To report bugs, bug fixes, descriptions of interesting Tcl-DP
- applications, and suggested improvements:
-
- +) Send email to tcl-dp@roger-rabbit.CS.Berkeley.EDU or
- tcl-dp-bugs@roger-rabbit.CS.Berkeley.EDU
-
- or
-
- +) Post an article in the comp.lang.tcl newsgroup.
-
- We extend our thanks to everyone who helped to create, debug, and
- distribute this software, including the following people:
-
- John Ousterhout, creator of Tcl/Tk;
- Pekka Nikander, creator of tcpConnect;
- Tim MacKenzie, creator of tclRawTCP;
-
-